<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Autenticação</title>
</head>
<body bgcolor="#ffffff">
	<h1>Autenticação</h1>
	<p>
		O ZAP trata vários tipos de autenticação (chamadas de <b>Métodos de autenticação</b>) que podem ser usadas para sites / webapps. Cada <b><a
			href="contexts.html">contexto</a></b> tem um método de autenticação definido que dita como a autenticação é manipulada. A autenticação é usada para criar sessões de Web que correspondem aos <a href="users.html">usuários</a> webapp autenticados..
	</p>

	<p>
		Para detectar quando as mensagens de resposta dos servidores web correspondem às requests, um conjunto de indicadores pode ser configurado. O indicadpr <b>Logado</b>, quando presente em uma mensagem de resposta (no cabeçalho ou no corpo) significa que a mensagem de resposta corresponde a uma solicitação autenticada (por exemplo, a presença de um link' logout' ou de um 'Bem-vindo, usuário X'). Da mesma forma, o indicador <b>Desconectado</b> indica um request não autenticado (por exemplo, com a presença de um link de' login'). If ZAP detects the logged out indicator it will re-authenticate,
		otherwise it's assumed that's already authenticated and will continue as usual.  
		Only one (1) of the two (2) indicators is necessary for 
		proper functionality. In the case neither of the
		indicators has been specified, all messages are considered, by
		default, authenticated.
	</p>
		
	<p> Para definir um dos indicadores <b>Logado/Deslogado</b>, digite o regex diretamente na <i>caixa de diálogo <a href="../../ui/dialogs/session/contexts.html#auth">Propriedades da sessão</a>-> painel de autenticação-> campo Logged in/out</i>, ou encontre uma mensagem autenticada na árvore de Sites, selecione-a, abra a visualização de resposta e selecione o texto que você deseja definir como o indicador usando o mouse e selecione <i>Flag como contexto... Indicador Logado/Deslogado</i> pelo botão direito do mouse.
	</p>

	<p>Para fazer a autenticação de um usuário num Web site ou em uma webapp, o método de autenticação define como a autenticação é feita (o processo), enquanto as credenciais necessárias (os identificadores exatos) são dependentes do usuário, de modo que no ZAP eles são configurados em 'Usuários'.</p>
	
	<p>Os passos principais genéricos <b>que</b> são necessários para configurar a autenticação para um aplicativo da web são os seguintes:
	<ol>
		<li>configurar corretamente um <a href="contexts.html">contexto</a> no ZAP para o aplicativo da web</li>
		<li>configurar o <a href="sessionManagement.html">método de gerenciamento de sessão</a> para o contexto que é usado em seu aplicativo</li>
		<li>configurar o método de autenticação para o contexto:
			<ol>
				<li>configurar pelo menos um dos <i>Indicador de Login</i> ou a <i>Indicador de Logout</i>, como descrito acima</li>
				<li>configurar o método de autenticação para seu aplicativo, especificando todos os requisitos (como visto abaixo)</li>
			</ol>
		</li> 
		<li>configurar um conjunto de <a href="users.html">usuários</a> para o contexto que correspondem diretamente ao método de autenticação para o contexto</li>
	</ol>

	<p>Métodos de autenticação podem ser usados em vários lugares ao redor do ZAP. Alguns exemplos incluem:</p>
	<ul>
		<li>definição de usuários e login automático</li>
		<li>deteção de Estados não-autenticados/autenticados</li>
		<li>realizando a re-autenticação automática</li>
	</ul>

	<p>Foram implementados vários métodos de autenticação e o sistema suporta fácil acréscimo de novos métodos, de acordo com as necessidades do usuário.   Os principal são descritos abaixo.</p>

	<h3>
		<a name="manual">Autenticação manual</a>
	</h3>
	<p>Esse método permite que os usuários executem a autenticação manualmente (por exemplo, autenticar no navegador ao mesmo tempo fazendo proxy através do ZAP) e selecionem a sessão HTTP correspondente. Como a autenticação real está sendo realizada por você, esse método não suporta re-autenticação caso a webapp desconecte um usuário.
	</p>
	
	<p>Ao usar esse método de autenticação, configurar um usuário para o contexto exige escolha de uma sessão autenticada do HTTP.</p>

	<h3>
		<a name="formBased">Autenticação baseada em formulário</a>
	</h3>
	<p>
		Este método é usado para sites / webapps nos quais a autenticação é feita enviando-se um formulário ou realizando uma solicitaçao GET para uma 'url de logon, usando um par de 'credenciais de autenticação nome de usuário/senha'.
		Re-autenticação é possível. Configuração pode ser feita usando o <a
			href="../../ui/dialogs/session/contexts.html#auth">Diálogo de contextos de sessão</a> ou usando o PopupMenu contextual: <i>Bandeira exibida...
			Solicitação de logon de autenticação baseada em formulário</i>.
	</p>
	<p>Quando usar este método de autenticação, configurar um usuário para o contexto requer configurar o par de credenciais <i>nome de usuário/senha</i> usado para o formulário de autenticação.</p>
	
	<h3>
		<a name="httpAuth">Autenticação HTTP/NTLM</a>
	</h3>
	<p>
		Este método é usado para sites / webapps onde a autenticação é verificada usando os mecanismos que empregam os cabeçalhos HTTP ou autenticação NTLM das mensagens HTTP. 
		Três esquemas de autenticação são suportados: Basic, Digest e NTLM.
		Re-autenticação é possível, já que os cabeçalhos de autenticação são enviados com cada solicitação autenticada. A configuração pode ser feita usando o <a
			href="../../ui/dialogs/session/contexts.html#auth">Diálogo de contextos de sessão</a>.
	</p>
	<p>Ao usar este método de autenticação, configurar um usuário para o contexto requer configurar o par de credenciais <i>nome de usuário/senha</i> usado para o formulário de autenticação.</p>
	
	<h3>
		<a name="scriptBased">Autenticação baseada em script</a>
	</h3>
	<p>
		Este método é útil para sites / webapps onde a autenticação é mais complexa e onde alguns scripts personalizados que lidam com o processo de autenticação podem ser uma vantagem. Para usar esse método, você deve primeiro definir um script de autenticação que envia mensagens ou realiza outras ações conforme necessário pelo seu aplicativo da web. Este script é então selecionado para uso para um determinado contexto e é chamado sempre que uma autenticação é realizada. Re-autenticação é possível. 
		A configuração pode ser feita usando o <a href="../../ui/dialogs/session/contexts.html#auth">Diálogo de contextos de sessão</a> e exige que você tenha o complemento Console de Scripts instalado a partir do Marketplace.
	</p>
	<p>Ao usar esse método de autenticação, configurar um usuário para o contexto requer a criação a um conjunto de parâmetros definidos no script. Para mais detalhes, consulte os exemplos de Script de autenticação fornecidos.</p>
	
	<h2>Exemplo de configuração</h2>
	<p>Veja abaixo um exemplo de configuração que mostra como configurar totalmente um webapp que usa <i>autenticação baseada em formulário</i> e
	<i>gerenciamento de sessão baseada em</i> cookies:
	<ol>
		<li>crie um contexto para o aplicativo da web</li>
		<li>defina o método de gerenciamento de sessão para o <i>Gerenciamento baseado em Cookie de sessão</i></li>
		<li>Certifique-se de seus navegador faça proxy de tudo através do ZAP e entre em seu aplicativo usando o navegador</li>
		<li>Acesse o ZAP e identifique o pedido que foi feito para o login (geralmente é um request HTTP POST que contém o nome de usuário e a senha e, possivelmente, outros elementos)</li>
		<li>dê um clique direito sobre o request e ligue a Flag de Contexto... Request de Auth Login baseado em formulário</li>
		<li>uma janela se abrirá já contendo a URL da solicitação e os parâmetros (se houver). Use as opções de menu suspenso para selecionar quais dos parâmetros correspondem ao nome de usuário e a senha</li>
    	<li>em seguida, você precisa dizer ZAP como identificar se uma autenticação foi bem-sucedida ou não. Você pode fazer isso definindo indicadores de logado ou deslogado. Isso são padrões regex que, se encontrados em uma resposta, dizem ao ZAP se ele está autenticado ou não (por exemplo, a presença de um link de http://example.com/logout ou a presença de um 'bem-vindo, usuário X'). Apenas um deles é necessário. Para definir um deles, ou digite o regex diretamente em propriedades da sessão-> autenticação-> indicador de login, ou encontre uma mensagem autenticada na árvore de Sites, selecione-a, abra a visualização de resposta e selecione o texto que você deseja definir como o indicador usando o mouse e selecione Flag como Contexto... no menu direito do mouse, Indicador de Logado.</li>
    	<li>Defina quantos usuários quiser em Propriedades da sessão-> Seção de usuários.</li>
    	<li>Após esta etapa, várias ações estão disponíveis no ZAP. Por exemplo, você pode agora selecionar o usuário no <a href="../../ui/dialogs/spider.html">diálogo do spider</a>. Ou, usando o Modo de Usuário Forçado, você pode forçar todas as interacções que passem pelo ZAP para um determinado contexto ser visto na perspectiva de um usuário. O Modo Usuário Forçado é habilitado através do botão 'anterior-último' na barra de ferramentas (aquela com o usuário e trava) e é configurado através de propriedades de sessão-> modo de usuário forçado.</li>
	</ol>
	
	A maioria das etapas acima aplicam-se também para outros métodos de autenticação. As únicas coisas que mudam ao tentar configurar a autenticação usando um método diferente são etapas 3, 4, 5 e 6. No lugar delas, selecione o método de autenticação obrigatório da lista drop-down e configure conforme necessário. Mais detalhes sobre a configuração de cada tipo de autenticação podem ser vistos acima e <a href="../../ui/dialogs/session/contexts.html">aqui</a>.

	<h2>Configurados através</h2>
	<table>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="../../ui/dialogs/session/contexts.html#auth">diálogo das propriedades de sessão</a></td>
			<td></td>
		</tr>
	</table>

	<h2>Leia também</h2>
	<table>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="https://youtu.be/cR4gw-cPZOA">YouTube-tutorial</a></td>
			<td>dos recursos de autenticação, gerenciamento de sessão e gerenciamento de usuários do ZAP [link externo de http://youtu.be/cR4gw-cPZOA].</td>
		</tr>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="../../ui/overview.html">Visão geral da interface do usuário</a></td>
			<td>para uma visão geral da interface do usuário</td>
		</tr>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="concepts.html">Recursos</a></td>
			<td>fornecidos pelo ZAP</td>
		</tr>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="../../ui/dialogs/session/contexts.html"> Diálogo de contextos de sessão</a></td>
			<td>para uma visão geral das propriedades de sessão</td>
		</tr>
		<tr>
			<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
			<td><a href="users.html">Usuários</a></td>
			<td>para uma visão geral de usuários</td>
		</tr>

	</table>

</body>
</html>
